package io.xxx.xbutler.core.callback;

import io.xxx.xbutler.domain.Callback;

/**
 * <pre>
 * 探鲸回调处理
 *
 * 1001 - 登录二维码回调 ✅
 * 1002 - 登录事件回调 ✅
 * 1003 - 登录成功回调 ✅
 * 1004 - 登录失败回调 ✅
 * 1005 - 登出接口3.0（兼容PC）回调 ✅
 * 1006 - 修改机器人信息回调 ✅
 * 1007 - 登录失败原因回调（疑似封号） ✅
 * 1010 - 平台机器人封号回调 ✅
 * 1025 - 登录授权码回调 ✅
 * 1026 - 登录授权码扫码回调 ✅
 * 1038 - 商家机器人账号密码托管登录接口回调 ✅
 * 1047 - 平台机器人回收回调 ✅
 * 1048 - 商家新增平台机器人回调 ✅
 * 1049 - 机器人个人信息补充回调 ✅
 * 1081 - 扫码号登录需安全验证回调 ✅
 * 1090 - 分页获取商家机器人列表回调 ✅
 * 2001 - 获取标签 ✅
 * 2002 - 新建标签 ✅
 * 2003 - 编辑标签 ✅
 * 2004 - 删除标签 ✅
 * 2005 - 设置好友标签 ✅
 * 2006 - 移除好友标签 ✅
 * 2007 - 标签添加多个好友 ✅
 * 3002 - 机器人群内主动添加好友接口回调 ✅
 * 3003 - 新好友请求回调 ✅
 * 3004 - 删除好友 ✅
 * 3005 - 机器人成为好友回调 ✅
 * 3006 - 机器人拉好友入群 ✅
 * 3008 - 设置好友备注 ✅
 * 3009 - 设置好友到黑名单 ✅
 * 3011 - 通过好友请求回调接口（兼容PC） ✅
 * 3015 - 好友信息变动回调 ✅
 * 3022 - 【异步调用】异步获取机器人好友列表接口（仅PC可用）回调 ✅
 * 3023 - 好友回复验证消息回调
 * 3024 - 机器人回复验证消息回调
 * 3033 - 个微去企微通过好友请求回调
 * 4001 - 群信息回调（兼容PC） ✅
 * 4002 - 修改群名称 ✅
 * 4003 - 群内踢人 ✅
 * 4004 - 群内发布公告 ✅
 * 4005 - 获取群公告 ✅
 * 4006 - 机器人转让群主 ✅
 * 4007 - 机器人主动退群 ✅
 * 4008 - 获取群二维码 ✅
 * 4009 - 修改机器人群内昵称 ✅
 * 4010 - 设置群聊保存到通讯录
 * 4011 - 开启群聊验证回调
 * 4013 - 查询群聊验证回调
 * 4014 - 机器人退群自动注销群回调 ✅
 * 4015 - 自动退群回调 ✅
 * 4501 - 获取所有群成员回调 ✅
 * 4502 - 群成员入群回调 ✅
 * 4503 - 群成员退群回调 ✅
 * 4504 - 机器人扫码入群 ✅
 * 4505 - 机器人入群回调 ✅
 * 4506 - 机器人收到入群邀请回调 ✅
 * 4507 - 机器人被踢出群回调接口 ✅
 * 4508 - 机器人创建群回调 ✅
 * 4509 - 机器人设置群管理员回调 ✅
 * 4510 - 群管理员信息变动 ✅
 * 4511 - 撤销机器人邀请好友入群回调
 * 4513 - 禁止入群回调 ✅
 * 4514 - 获取群成员信息回调 ✅
 * 4515 - 好友入群申请回调
 * 4516 - 机器人验证好友入群回调
 * 4517 - 获取机器人个人二维码3.0回调 ✅
 * 4518 - 停用群二维码回调 ✅
 * 4519 - 新成员入群扫码地址回调
 * 4525 - 群被解散回调
 * 4530 - 设置群消息免打扰接口回调
 * 4531 - 会话置顶接口回调
 * 4534 - 获取群信息接口（异步）回调
 * 4543 - 设置折叠群接口回调
 * 5001 - 机器人私聊信息回调 ✅
 * 5002 - 群聊消息发送结果回调接口 ✅
 * 5003 - 群内实时消息（需要订阅后才能收到消息） ✅
 * 5004 - 私聊发送结果回调 ✅
 * 5005 - 下载消息回调
 * 5006 - 机器人撤回消息结果回调
 * 5007 - 设置消息已读回调
 * 6001 - 获取朋友圈回调
 * 6002 - 朋友圈发送回调
 * 6003 - 删除朋友圈回调
 * 6004 - 评论朋友圈回调
 * 6006 - 取消点赞朋友圈回调
 * 6007 - 更换朋友圈相册封面回调
 * 6008 - 设置允许陌生人查看十条朋友圈回调
 * 6009 - 允许朋友查看朋友圈的范围设置回调
 * 6011 - 获取单条朋友圈详情信息回调
 * 6012 - 获取朋友圈（透传）回调
 * 6101 - 机器人被回复与被点赞回调（好友或机器人发的朋友圈）
 * 6102 - 下载朋友圈视频图片回调
 * 9283 - 群聊被停用回调
 * </pre>
 */
// http://merchant-manage.tanjingpaas.com:8081/#/merchant-microInterface
public interface CallbackHandler {

    String name();

    boolean supports(int type);

    /**
     * 默认不处理错误的回调（code != 1)
     */
    default boolean ignoreError() {
        return true;
    }

    void handle(Callback callback);
}
